+Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
+ the popup when it is visible, popdown when there are less chars
+ than the minimum key length in the entry,
+ (gtk_entry_completion_changed): popdown when the entry is empty.
+
+ * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
+ size request of the vscrollbar to (-1, 0), to get a nicely sized
+ completion treeview (Fixes #126573, reported by Piers Cornwell),
+ (_gtk_entry_completion_resize_popup): show/hide the action_view
+ based on items.
+
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
+Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
+ the popup when it is visible, popdown when there are less chars
+ than the minimum key length in the entry,
+ (gtk_entry_completion_changed): popdown when the entry is empty.
+
+ * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
+ size request of the vscrollbar to (-1, 0), to get a nicely sized
+ completion treeview (Fixes #126573, reported by Piers Cornwell),
+ (_gtk_entry_completion_resize_popup): show/hide the action_view
+ based on items.
+
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
+Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
+ the popup when it is visible, popdown when there are less chars
+ than the minimum key length in the entry,
+ (gtk_entry_completion_changed): popdown when the entry is empty.
+
+ * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
+ size request of the vscrollbar to (-1, 0), to get a nicely sized
+ completion treeview (Fixes #126573, reported by Piers Cornwell),
+ (_gtk_entry_completion_resize_popup): show/hide the action_view
+ based on items.
+
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
+Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
+ the popup when it is visible, popdown when there are less chars
+ than the minimum key length in the entry,
+ (gtk_entry_completion_changed): popdown when the entry is empty.
+
+ * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
+ size request of the vscrollbar to (-1, 0), to get a nicely sized
+ completion treeview (Fixes #126573, reported by Piers Cornwell),
+ (_gtk_entry_completion_resize_popup): show/hide the action_view
+ based on items.
+
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
+Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
+ the popup when it is visible, popdown when there are less chars
+ than the minimum key length in the entry,
+ (gtk_entry_completion_changed): popdown when the entry is empty.
+
+ * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
+ size request of the vscrollbar to (-1, 0), to get a nicely sized
+ completion treeview (Fixes #126573, reported by Piers Cornwell),
+ (_gtk_entry_completion_resize_popup): show/hide the action_view
+ based on items.
+
2003-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
actions = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->actions), NULL);
- if (matches > 0 || actions > 0)
- {
- if (! GTK_WIDGET_MAPPED (completion->priv->popup_window))
- _gtk_entry_completion_popup (completion);
- else
- _gtk_entry_completion_resize_popup (completion);
- }
+ if ((matches > 0 || actions > 0)
+ && ! GTK_WIDGET_VISIBLE (completion->priv->popup_window))
+ _gtk_entry_completion_popup (completion);
+ else if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
+ _gtk_entry_completion_resize_popup (completion);
}
+ else if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
+ _gtk_entry_completion_popdown (completion);
GDK_THREADS_LEAVE ();
/* no need to normalize for this test */
if (! strcmp ("", gtk_entry_get_text (GTK_ENTRY (entry))))
- return;
+ {
+ if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
+ _gtk_entry_completion_popdown (completion);
+ return;
+ }
completion->priv->completion_timeout =
g_timeout_add (COMPLETION_TIMEOUT,
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window),
GTK_SHADOW_ETCHED_IN);
+ /* a nasty hack to get the completions treeview to size nicely */
+ gtk_widget_set_size_request (GTK_SCROLLED_WINDOW (priv->scrolled_window)->vscrollbar, -1, 0);
/* actions */
priv->actions = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN);
if (items)
{
+ gtk_widget_show (completion->priv->action_view);
+
gtk_tree_view_column_cell_get_size (gtk_tree_view_get_column (GTK_TREE_VIEW (completion->priv->action_view), 0),
NULL, NULL, NULL, NULL,
&height);
completion->priv->entry->allocation.width - 2 * x_border,
items * height);
}
+ else
+ gtk_widget_hide (completion->priv->action_view);
return height;
}